/**
 * @author Vitor Franco do Carmo (vitor.carmo@capgemini.com)
 * @since 21/10/2013
 *
 */
package br.com.vfcfw.controller.util;

import org.primefaces.context.RequestContext;

/**
 * Classe utilitária para abstrair a complexidade de ações no primefaces.
 * 
 * @author Vitor Franco do Carmo (vitor.carmo@capgemini.com)
 * @since 21/10/2013
 * 
 */
public class PrimefacesUtil {

    /**
     * Executa a função javacript informada.
     * 
     * @param javaScript Função JavaScript.
     */
    public static void executarJavaScript(String javaScript) {

        obterRequestContext().execute(javaScript);
    }

    /**
     * Adiciona um parâmetro de retorno.
     * 
     * @param nomeParametro Nome do parâmetro.
     * @param valor Valor do parâmetro.
     */
    public static void adicionarParametroCallback(String nomeParametro, Object valor) {

        obterRequestContext().addCallbackParam(nomeParametro, valor);
    }

    /**
     * Retorna o {@link RequestContext}.
     * 
     * @return {@link RequestContext}.
     */
    public static RequestContext obterRequestContext() {

        return RequestContext.getCurrentInstance();
    }
}
